package com.chisheng.mapper;

import com.chisheng.student.Student;

import java.util.List;

/**
 * 学生 DAL 操作接口
 *
 * @author chisheng
 * @since 2021-11-05
 */
public interface StudentMapper {

    /**
     * 插入学生
     *
     * @param student 学生实体
     * @return 影响行数
     */
    int insertOne(Student student);

    /**
     * 删除学生
     *
     * @param id 学生 ID
     * @return 影响行数
     */
    int deleteById(Integer id);

    /**
     * 修改学生
     *
     * @param student 学生实体
     * @return 影响行数
     */
    int updateById(Student student);

    /**
     * 查询学生
     *
     * @param id 学生 ID
     * @return 学生实体
     */
    Student findById(Integer id);

    /**
     * 分页查询学生
     *
     * @param offset 偏移
     * @param rows   数据条数
     * @return 学生列表
     */
    List<Student> findStudentLimit(int offset, int rows);

    /**
     * 查询学生数据条数
     *
     * @return 数据条数
     */
    long count();

}
